package programmercarl.动态规划.C22;

import java.util.Scanner;

public class Main1 {
    public static void main(String[] args) {
        //完全背包
        Scanner sc = new Scanner(System.in);
        String[] inputs=sc.nextLine().split(" ");
        //dp[i]表示第i个有多少种爬的方法
        int n=Integer.parseInt(inputs[0]);
        int m=Integer.parseInt(inputs[1]);
        //完全背包求排列数
        int[] dp=new int[n+1];
        dp[0]=1;

        for (int j = 1; j <= n; j++) {
            for (int i = 1; i <= m; i++) {
                if(i >= i){
                    dp[j]+=dp[j-m];
                }
            }
        }

        //dp含义，确定递推，dp初始化，dp遍历
        System.out.println(dp[n]);
    }
}
